A database administrator will often be asked to create clones of databases for development, testing, QA, user acceptance testing, training or other purposes. Traditionally, a clone of a database is created by duplicating the database. However, there are two related issues with the traditional way of creating a database clone.
First, each clone requires additional physical storage. For example, if the source database which is to be cloned, is 1 TB in size, then after a clone is created, 2 TB of storage is needed to hold the source and the cloned databases.
Second, the time and resources taken (i.e., CPU, Network, I/O, etc.) to physically copy a database can be prohibitive. Often, the process has to be performed outside peak working hours.
Thus, a time and space efficient way of cloning a database is needed.